package org.jeecg.modules.travel.dto.attraction;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Data
public class AttractionEditDto {

    /**id*/
    @NotBlank(message = "id不能为空")
    @Excel(name = "id", width = 15)
    @Schema(description = "id")
    private String id;
    /**景点名称*/
    @NotBlank(message = "景点名称不能为空")
    @Excel(name = "景点名称", width = 15)
    @Schema(description = "景点名称")
    private String attractionName;
    /**主题*/
    @NotBlank(message = "景点分类不能为空")
    @Dict(dictTable = "jh_theme", dicText = "theme_name", dicCode = "id")
    @Excel(name = "主题", width = 15)
    @Schema(description = "主题")
    private String attractionTheme;
    /**描述*/
    @Excel(name = "描述", width = 15)
    @Schema(description = "描述")
    private String attractionDescription;
    /**建议游览时长（分钟）*/
    @Excel(name = "建议游览时长（分钟）", width = 15)
    @Schema(description = "建议游览时长（分钟）")
    private Integer attractionRecommendedDuration;
    /**最大承载量*/
    @Excel(name = "最大承载量", width = 15)
    @Schema(description = "最大承载量")
    private Integer attractionCapacity;
    /**热门景点 0否 1是*/
    @Dict(dicCode = "yn")
    @Excel(name = "热门景点 0否 1是", width = 15)
    @Schema(description = "热门景点 0否 1是")
    private Integer isFeatured;
    /**热度*/
    @Excel(name = "热度", width = 15)
    @Schema(description = "热度")
    private Integer attractionHeat;
    /**状态 0-开放 1-维修 2-临时关闭*/
    @Dict(dicCode = "yn")
    @Excel(name = "状态 0-开放 1-维修 2-临时关闭", width = 15)
    @Schema(description = "状态 0-开放 1-维修 2-临时关闭")
    private Integer attractionStatus;
    /**营业时间*/
    @Excel(name = "营业时间", width = 15)
    @Schema(description = "营业时间")
    private String businessHour;
    /**国*/
    @Excel(name = "国", width = 15)
    @Schema(description = "国")
    private String attractionCountry;
    /**省份*/
    @Excel(name = "省份", width = 15)
    @Schema(description = "省份")
    private String attractionProvince;
    /**城市*/
    @Excel(name = "城市", width = 15)
    @Schema(description = "城市")
    private String attractionCity;
    /**县/市/区*/
    @Excel(name = "县/市/区", width = 15,exportConvert=true,importConvert = true )
    @Schema(description = "县/市/区")
    private String attractionDistrict;
    /**区域编码*/
    @Excel(name = "区域编码", width = 15)
    @Schema(description = "区域编码")
    private String areaCode;
    /**景区地址*/
    @NotBlank(message = "景区地址不能为空")
    @Excel(name = "景区地址", width = 15)
    @Schema(description = "景区地址")
    private String attractionAddress;
    /**经度*/
    @NotNull(message = "经度不能为空")
    @Excel(name = "经度", width = 15)
    @Schema(description = "经度")
    private BigDecimal longitude;
    /**纬度*/
    @NotNull(message = "纬度不能为空")
    @Excel(name = "纬度", width = 15)
    @Schema(description = "纬度")
    private BigDecimal latitude;
    /**联系人名称*/
    @Excel(name = "联系人名称", width = 15)
    @Schema(description = "联系人名称")
    private String contactName;
    /**联系电话*/
    @Excel(name = "联系电话", width = 15)
    @Schema(description = "联系电话")
    private String contactPhone;
    /**官网网站*/
    @Excel(name = "官网网站", width = 15)
    @Schema(description = "官网网站")
    private String website;
    /**图片*/
    @Excel(name = "图片", width = 15)
    @Schema(description = "图片")
    private List<String> imgFile;
    /**音频*/
    @Excel(name = "音频", width = 15)
    @Schema(description = "音频")
    private List<String> mpFile;
    /**视频*/
    @Excel(name = "视频", width = 15)
    @Schema(description = "视频")
    private List<String> videoFile;

}
